import java.util.Scanner;

public class demo {


    //    统计回文
    public static void main1(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str1 = sc.nextLine();
        String str2 = sc.nextLine();
        int len = str1.length();
        int count = 0;
        for (int i = 0; i < len; i++) {
//            将字符串2插入到字符串1的每个位置，再判断是否是回文
            StringBuilder str3 = new StringBuilder(str1);
            str3.insert(i,str2);
            //注意这里，不能直接StringBuilder str4 = str3.reverse();
            //因为这样str本身又变了
            StringBuilder str4 = new StringBuilder(str3);
            str4.reverse();

            if (str3.toString().equals(str4.toString())){
                count++;
            }
//            由于StringBuilder和StringBuffer没有重写equals方法，所以还是使用的Object的equals方法。对比的是两个对象的地址是否相等。
//            为了比较StringBuilder和StringBuffer字符串内容是否相等，需要先将其转换为string，
//            String 由于重写了equals方法，所以使用equals函数是对比两个字符串内容是否相等
        }
        System.out.println(count);
    }
//    aba
//    b
//    2


    public static void main2(String[] args) {
        String str1 = "abc";
        StringBuilder str3 = new StringBuilder(str1);
        StringBuilder str4 = str3;
        System.out.println(str3);
        System.out.println(str4);
        if (str3.equals(str4)){
            System.out.println("asd");
        }//equals 比较的是地址 此时打印asd 因为str3地址和str2地址相同
    }





    //    连续最大和  动态规划 重要
//    一个数组有 N 个元素，求连续子数组的最大和。 例如：[-1,2,1]，和最大的连续子数组为[2,1]，其和为 3
    public static int getMax(int a, int b) {
        return a>b? a:b;
    }
    public static void main3(String[] args) {
        Scanner sc = new Scanner(System.in);
        int size = sc.nextInt();
        int[] arr = new int[size];
        for(int i=0; i<arr.length; i++) {
            arr[i] = sc.nextInt();
        }
        int sum = arr[0];
        int max = arr[0];
        for(int i=1; i<arr.length; i++) {
            sum = getMax(sum+arr[i], arr[i]);//重点是这段代码
//            sum是将前n项相加和后一项比较 如果小于后面那项那么 前面这些项舍去保留后面那一项
//                                      如果大于后面那项  那么继续＋ 往后比较
            if(sum > max) {
                max = sum;
            }
        }
        System.out.println(max);
    }
}

